@南馆潇湘
2年前 提问
1个回答
如何防止开放重定向漏洞
安全小白成长记
2年前
防止开放重定向漏洞可以使用下面三种办法:
不在web应用程序中使用任何重定向,这是最好的解决办法。
使用固定目标页面列表。将其完整的URL存储在数据库表中,并使用标识符作为请求参数而不是URL本身来调用它们。例如,存储
http://example2.com
在数据库表与标识符42,然后使用下面的呼叫重定向到example2.com:https://example.com /
重定向.php ?redir_id = 42
。如果您不能使用固定的重定向目标列表,请过滤不受信任的输入,如果可以,请使用白名单,而不是黑名单。确保检查部分字符串,例如
http:// example.com .evil.com
是有效的URL。此外,禁止使用除HTTP和HTTPS之外的所有协议。另请注意,尽管您尽了最大的努力,攻击者还是有可能找到绕过您的过滤器的方法。